Au tournant du siècle dernier, Eisenheim (Edward Norton), un mystérieux illusionniste, devient l'homme le plus célèbre de la ville de Vienne. Mais la gloire d'Eisenheim est intolérable au prince héritier Leopold (Rufus Sewell), dont la popularité décroît. Rationaliste convaincu, avide de pouvoir, Leopold a une raison de plus de jalouser Eisenheim : ce dernier fut le grand amour de jeunesse de sa fiancée, la belle Sophie von Teschen (Jessica Biel), qui nourrit encore pour lui de tendres sentiments. Décidé à écarter ce rival, Leopold charge son homme de confiance d'enquêter sur l'illusionniste et de dévoiler ses impostures. Une partie serrée s'engage entre les deux hommes qui s'affrontent en mettant leur volonté à l'épreuve pour tenter de déterminer où se termine la réalité et où commence la magie...